package fr.afcepf.al23.implementationMetier;

import fr.afcepf.al23.entity.Utilisateur;
import fr.afcepf.al23.interfaceBu.IBusinessUtilisateur;
import fr.afcepf.al23.interfaceDao.IDaoUtilisateur;
import fr.afcepf.al23.qualite.exception.QualityException;

/**
 * Implementation de la classe IBuUtilisateur.
 * @author Nath
 *
 */
public class BuUtilisateur implements IBusinessUtilisateur {
    /**
     * dependence vers la couche d'accès aux données.
     */
    private IDaoUtilisateur dao;
    /**
     * methode pour injection de la dependence.
     * @param paramDao la dependence injectée.
     */
    public void setDao(IDaoUtilisateur paramDao) {
        dao = paramDao;
    }
    @Override
    public Utilisateur seConnecter(String paramMail, String paramMdp) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public Utilisateur enregistrer(Utilisateur paramUtil)
            throws QualityException {
            if (!dao.verififMail(paramUtil.getMail())) {
                paramUtil = dao.addUtilisateur(paramUtil);
            } else {
                QualityException qe = new QualityException("mail existe");
                qe.setCode(QualityException.ErrorCode.MAIL_EXISTE);
                throw qe;
            }
            return paramUtil;
    }

}
